package com.sailfish.springbootdemo.pojo.db1;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;
import java.util.Map;

public class PcbaLine {

    private Integer pcbaLineId;
    private String pcbaLineNameCn;
    private String pcbaLineNameEn;
    private Integer pcbaCompanyId;
    private Integer pcbaWorkshopId;
    private Integer pcbaProcessId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    private Integer status;
    private Integer sort;
    private Integer pcbaLineType;
    private Integer pcbaLineLevel;
    private Integer pcbaLineLevelAudit;
    private String notes;
    private String notesAudit;
    private Integer isFilledDeclare;
    private Integer isFilledActual;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date beginTimeDeclare;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTimeDeclare;
    private Integer paramsStatusDeclare;
    private String paramsNotesDeclare;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date beginTimeActual;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTimeActual;
    private Integer paramsStatusActual;
    private String paramsNotesActual;
    private Integer pcbaDeviceNums;
    private Integer submitter;
    private String auditors;
    private Integer paramsStatusBase;
    private String paramsRemarkBase;
    private Integer lockDeclare;
    private Integer finalStatus;
    private Integer isFirstCreate;

    // 其下设备是否填写设备工艺实际能力 [数据库无对应字段]
    private Integer techParamFilledStatus;

    private List<PcbaDevice> pcbaDeviceList;
    private List<PcbaDeviceAudit> pcbaDeviceAuditList;

    private PcbaCompany pcbaCompany;
    private PcbaWorkshop pcbaWorkshop;
    private PcbaProcess pcbaProcess;
    private LineLevel lineLevel;
    private LineLevel lineLevelAudit;

    private Map<String, Object> baseCapacityMap;
    private LineTechBigType techCapacity;

    private List<LineBaseBigType> lineBaseBigTypeList;
    private List<LineTechBigType> lineTechBigTypeList;
    private LineTechBigType lineTechBigType;

    private Object baseCapacityValueList;
    private List<JSONObject> techCapacityValueList;

    private Object baseFinalKeyAndValueList;
    private Object techFinalKeyAndValueList;

    private String pcbaProcessName;
    private Integer isOverSixYearInHighLine;
    private Integer isHasAgeOverdueInLine;

    // 重写 equals 方法，根据 id 判断对象是否相等
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PcbaLine pcbaLine = (PcbaLine) o;
        return pcbaLineId.equals(pcbaLine.pcbaLineId);
    }

    public Integer getPcbaLineId() {
        return pcbaLineId;
    }

    public void setPcbaLineId(Integer pcbaLineId) {
        this.pcbaLineId = pcbaLineId;
    }

    public String getPcbaLineNameCn() {
        return pcbaLineNameCn;
    }

    public void setPcbaLineNameCn(String pcbaLineNameCn) {
        this.pcbaLineNameCn = pcbaLineNameCn;
    }

    public String getPcbaLineNameEn() {
        return pcbaLineNameEn;
    }

    public void setPcbaLineNameEn(String pcbaLineNameEn) {
        this.pcbaLineNameEn = pcbaLineNameEn;
    }

    public Integer getPcbaCompanyId() {
        return pcbaCompanyId;
    }

    public void setPcbaCompanyId(Integer pcbaCompanyId) {
        this.pcbaCompanyId = pcbaCompanyId;
    }

    public Integer getPcbaWorkshopId() {
        return pcbaWorkshopId;
    }

    public void setPcbaWorkshopId(Integer pcbaWorkshopId) {
        this.pcbaWorkshopId = pcbaWorkshopId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public PcbaWorkshop getPcbaWorkshop() {
        return pcbaWorkshop;
    }

    public void setPcbaWorkshop(PcbaWorkshop pcbaWorkshop) {
        this.pcbaWorkshop = pcbaWorkshop;
    }

    public PcbaCompany getPcbaCompany() {
        return pcbaCompany;
    }

    public void setPcbaCompany(PcbaCompany pcbaCompany) {
        this.pcbaCompany = pcbaCompany;
    }

    public Integer getPcbaProcessId() {
        return pcbaProcessId;
    }

    public void setPcbaProcessId(Integer pcbaProcessId) {
        this.pcbaProcessId = pcbaProcessId;
    }

    public PcbaProcess getPcbaProcess() {
        return pcbaProcess;
    }

    public void setPcbaProcess(PcbaProcess pcbaProcess) {
        this.pcbaProcess = pcbaProcess;
    }

    public Integer getPcbaLineType() {
        return pcbaLineType;
    }

    public void setPcbaLineType(Integer pcbaLineType) {
        this.pcbaLineType = pcbaLineType;
    }

    public Integer getPcbaLineLevel() {
        return pcbaLineLevel;
    }

    public void setPcbaLineLevel(Integer pcbaLineLevel) {
        this.pcbaLineLevel = pcbaLineLevel;
    }

    public String getNotes() {
        return notes;
    }

    public void setNotes(String notes) {
        this.notes = notes;
    }

    public List<PcbaDevice> getPcbaDeviceList() {
        return pcbaDeviceList;
    }

    public void setPcbaDeviceList(List<PcbaDevice> pcbaDeviceList) {
        this.pcbaDeviceList = pcbaDeviceList;
    }

    public LineLevel getLineLevel() {
        return lineLevel;
    }

    public void setLineLevel(LineLevel lineLevel) {
        this.lineLevel = lineLevel;
    }

    public Integer getIsFilledDeclare() {
        return isFilledDeclare;
    }

    public void setIsFilledDeclare(Integer isFilledDeclare) {
        this.isFilledDeclare = isFilledDeclare;
    }

    public Date getBeginTimeDeclare() {
        return beginTimeDeclare;
    }

    public void setBeginTimeDeclare(Date beginTimeDeclare) {
        this.beginTimeDeclare = beginTimeDeclare;
    }

    public Date getEndTimeDeclare() {
        return endTimeDeclare;
    }

    public void setEndTimeDeclare(Date endTimeDeclare) {
        this.endTimeDeclare = endTimeDeclare;
    }

    public Integer getParamsStatusDeclare() {
        return paramsStatusDeclare;
    }

    public void setParamsStatusDeclare(Integer paramsStatusDeclare) {
        this.paramsStatusDeclare = paramsStatusDeclare;
    }

    public String getParamsNotesDeclare() {
        return paramsNotesDeclare;
    }

    public void setParamsNotesDeclare(String paramsNotesDeclare) {
        this.paramsNotesDeclare = paramsNotesDeclare;
    }

    public Date getBeginTimeActual() {
        return beginTimeActual;
    }

    public void setBeginTimeActual(Date beginTimeActual) {
        this.beginTimeActual = beginTimeActual;
    }

    public Date getEndTimeActual() {
        return endTimeActual;
    }

    public void setEndTimeActual(Date endTimeActual) {
        this.endTimeActual = endTimeActual;
    }

    public Integer getParamsStatusActual() {
        return paramsStatusActual;
    }

    public void setParamsStatusActual(Integer paramsStatusActual) {
        this.paramsStatusActual = paramsStatusActual;
    }

    public String getParamsNotesActual() {
        return paramsNotesActual;
    }

    public void setParamsNotesActual(String paramsNotesActual) {
        this.paramsNotesActual = paramsNotesActual;
    }

    public Integer getIsFilledActual() {
        return isFilledActual;
    }

    public void setIsFilledActual(Integer isFilledActual) {
        this.isFilledActual = isFilledActual;
    }

    public Map<String, Object> getBaseCapacityMap() {
        return baseCapacityMap;
    }

    public void setBaseCapacityMap(Map<String, Object> baseCapacityMap) {
        this.baseCapacityMap = baseCapacityMap;
    }

    public LineTechBigType getTechCapacity() {
        return techCapacity;
    }

    public void setTechCapacity(LineTechBigType techCapacity) {
        this.techCapacity = techCapacity;
    }

    public Integer getPcbaDeviceNums() {
        return pcbaDeviceNums;
    }

    public void setPcbaDeviceNums(Integer pcbaDeviceNums) {
        this.pcbaDeviceNums = pcbaDeviceNums;
    }

    public List<LineBaseBigType> getLineBaseBigTypeList() {
        return lineBaseBigTypeList;
    }

    public void setLineBaseBigTypeList(List<LineBaseBigType> lineBaseBigTypeList) {
        this.lineBaseBigTypeList = lineBaseBigTypeList;
    }

    public Object getBaseCapacityValueList() {
        return baseCapacityValueList;
    }

    public void setBaseCapacityValueList(Object baseCapacityValueList) {
        this.baseCapacityValueList = baseCapacityValueList;
    }

    public List<JSONObject> getTechCapacityValueList() {
        return techCapacityValueList;
    }

    public void setTechCapacityValueList(List<JSONObject> techCapacityValueList) {
        this.techCapacityValueList = techCapacityValueList;
    }

    public Integer getTechParamFilledStatus() {
        return techParamFilledStatus;
    }

    public void setTechParamFilledStatus(Integer techParamFilledStatus) {
        this.techParamFilledStatus = techParamFilledStatus;
    }

    public Object getBaseFinalKeyAndValueList() {
        return baseFinalKeyAndValueList;
    }

    public void setBaseFinalKeyAndValueList(Object baseFinalKeyAndValueList) {
        this.baseFinalKeyAndValueList = baseFinalKeyAndValueList;
    }

    public Object getTechFinalKeyAndValueList() {
        return techFinalKeyAndValueList;
    }

    public void setTechFinalKeyAndValueList(Object techFinalKeyAndValueList) {
        this.techFinalKeyAndValueList = techFinalKeyAndValueList;
    }

    public String getPcbaProcessName() {
        return pcbaProcessName;
    }

    public void setPcbaProcessName(String pcbaProcessName) {
        this.pcbaProcessName = pcbaProcessName;
    }

    public Integer getIsOverSixYearInHighLine() {
        return isOverSixYearInHighLine;
    }

    public void setIsOverSixYearInHighLine(Integer isOverSixYearInHighLine) {
        this.isOverSixYearInHighLine = isOverSixYearInHighLine;
    }

    public Integer getSubmitter() {
        return submitter;
    }

    public void setSubmitter(Integer submitter) {
        this.submitter = submitter;
    }

    public String getAuditors() {
        return auditors;
    }

    public void setAuditors(String auditors) {
        this.auditors = auditors;
    }

    public Integer getParamsStatusBase() {
        return paramsStatusBase;
    }

    public void setParamsStatusBase(Integer paramsStatusBase) {
        this.paramsStatusBase = paramsStatusBase;
    }

    public String getParamsRemarkBase() {
        return paramsRemarkBase;
    }

    public void setParamsRemarkBase(String paramsRemarkBase) {
        this.paramsRemarkBase = paramsRemarkBase;
    }

    public List<LineTechBigType> getLineTechBigTypeList() {
        return lineTechBigTypeList;
    }

    public void setLineTechBigTypeList(List<LineTechBigType> lineTechBigTypeList) {
        this.lineTechBigTypeList = lineTechBigTypeList;
    }

    public LineTechBigType getLineTechBigType() {
        return lineTechBigType;
    }

    public void setLineTechBigType(LineTechBigType lineTechBigType) {
        this.lineTechBigType = lineTechBigType;
    }

    public Integer getIsHasAgeOverdueInLine() {
        return isHasAgeOverdueInLine;
    }

    public void setIsHasAgeOverdueInLine(Integer isHasAgeOverdueInLine) {
        this.isHasAgeOverdueInLine = isHasAgeOverdueInLine;
    }

    public Integer getLockDeclare() {
        return lockDeclare;
    }

    public void setLockDeclare(Integer lockDeclare) {
        this.lockDeclare = lockDeclare;
    }

    public Integer getPcbaLineLevelAudit() {
        return pcbaLineLevelAudit;
    }

    public void setPcbaLineLevelAudit(Integer pcbaLineLevelAudit) {
        this.pcbaLineLevelAudit = pcbaLineLevelAudit;
    }

    public String getNotesAudit() {
        return notesAudit;
    }

    public void setNotesAudit(String notesAudit) {
        this.notesAudit = notesAudit;
    }

    public LineLevel getLineLevelAudit() {
        return lineLevelAudit;
    }

    public void setLineLevelAudit(LineLevel lineLevelAudit) {
        this.lineLevelAudit = lineLevelAudit;
    }

    public List<PcbaDeviceAudit> getPcbaDeviceAuditList() {
        return pcbaDeviceAuditList;
    }

    public void setPcbaDeviceAuditList(List<PcbaDeviceAudit> pcbaDeviceAuditList) {
        this.pcbaDeviceAuditList = pcbaDeviceAuditList;
    }

    public Integer getFinalStatus() {
        return finalStatus;
    }

    public void setFinalStatus(Integer finalStatus) {
        this.finalStatus = finalStatus;
    }

    public Integer getIsFirstCreate() {
        return isFirstCreate;
    }

    public void setIsFirstCreate(Integer isFirstCreate) {
        this.isFirstCreate = isFirstCreate;
    }
}
